با توجه به داده های قیمت منازل لطفا با سوالات زیر پاسخ دهید.
۱. ماتریس همبستگی متغیرهای مختلف را به دست آورده و سپس رسم نمایید. اعداد به دست آمده را با آزمون فرض معناداری همبستگی بسنجید و سپس ده متغیری که همبستگی بالاتری با قیمت دارند را مشخص نمایید.
train %>% select_if(is.numeric) -> train_nuemric
cormat <- round(cor(train_nuemric), 4)
melted_cormat <- melt(cormat, na.rm = TRUE)
ggplot(data = melted_cormat, aes(x = Var1, y = Var2, fill = value)) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "blue", high = "red", mid = "white",
midpoint = 0, limit = c(-1,1), space = "Lab",name="Pearson\nCorrelation")+
theme(axis.text.x = element_text(angle = 45, vjust = 1,
size = 8, hjust = 1),
axis.text.y = element_text(angle = 0, vjust = 1,
size = 8, hjust = 1))+
coord_fixed()library("Hmisc")
res2 <- rcorr(as.matrix(train_nuemric))
# Extract the correlation coefficients
kable(res2$r, digits = 3)| Id | MSSubClass | LotFrontage | LotArea | OverallQual | OverallCond | YearBuilt | YearRemodAdd | MasVnrArea | BsmtFinSF1 | BsmtFinSF2 | BsmtUnfSF | TotalBsmtSF | 1stFlrSF | 2ndFlrSF | LowQualFinSF | GrLivArea | BsmtFullBath | BsmtHalfBath | FullBath | HalfBath | BedroomAbvGr | KitchenAbvGr | TotRmsAbvGrd | Fireplaces | GarageYrBlt | GarageCars | GarageArea | WoodDeckSF | OpenPorchSF | EnclosedPorch | 3SsnPorch | ScreenPorch | PoolArea | MiscVal | MoSold | YrSold | SalePrice | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Id | 1.000 | 0.011 | -0.011 | -0.033 | -0.028 | 0.013 | -0.013 | -0.022 | -0.050 | -0.005 | -0.006 | -0.008 | -0.015 | 0.010 | 0.006 | -0.044 | 0.008 | 0.002 | -0.020 | 0.006 | 0.007 | 0.038 | 0.003 | 0.027 | -0.020 | 0.000 | 0.017 | 0.018 | -0.030 | 0.000 | 0.003 | -0.047 | 0.001 | 0.057 | -0.006 | 0.021 | 0.001 | -0.022 |
| MSSubClass | 0.011 | 1.000 | -0.386 | -0.140 | 0.033 | -0.059 | 0.028 | 0.041 | 0.023 | -0.070 | -0.066 | -0.141 | -0.239 | -0.252 | 0.308 | 0.046 | 0.075 | 0.003 | -0.002 | 0.132 | 0.177 | -0.023 | 0.282 | 0.040 | -0.046 | 0.085 | -0.040 | -0.099 | -0.013 | -0.006 | -0.012 | -0.044 | -0.026 | 0.008 | -0.008 | -0.014 | -0.021 | -0.084 |
| LotFrontage | -0.011 | -0.386 | 1.000 | 0.426 | 0.252 | -0.059 | 0.123 | 0.089 | 0.193 | 0.234 | 0.050 | 0.133 | 0.392 | 0.457 | 0.080 | 0.038 | 0.403 | 0.101 | -0.007 | 0.199 | 0.054 | 0.263 | -0.006 | 0.352 | 0.267 | 0.070 | 0.286 | 0.345 | 0.089 | 0.152 | 0.011 | 0.070 | 0.041 | 0.206 | 0.003 | 0.011 | 0.007 | 0.352 |
| LotArea | -0.033 | -0.140 | 0.426 | 1.000 | 0.106 | -0.006 | 0.014 | 0.014 | 0.104 | 0.214 | 0.111 | -0.003 | 0.261 | 0.299 | 0.051 | 0.005 | 0.263 | 0.158 | 0.048 | 0.126 | 0.014 | 0.120 | -0.018 | 0.190 | 0.271 | -0.025 | 0.155 | 0.180 | 0.172 | 0.085 | -0.018 | 0.020 | 0.043 | 0.078 | 0.038 | 0.001 | -0.014 | 0.264 |
| OverallQual | -0.028 | 0.033 | 0.252 | 0.106 | 1.000 | -0.092 | 0.572 | 0.551 | 0.412 | 0.240 | -0.059 | 0.308 | 0.538 | 0.476 | 0.295 | -0.030 | 0.593 | 0.111 | -0.040 | 0.551 | 0.273 | 0.102 | -0.184 | 0.427 | 0.397 | 0.548 | 0.601 | 0.562 | 0.239 | 0.309 | -0.114 | 0.030 | 0.065 | 0.065 | -0.031 | 0.071 | -0.027 | 0.791 |
| OverallCond | 0.013 | -0.059 | -0.059 | -0.006 | -0.092 | 1.000 | -0.376 | 0.074 | -0.128 | -0.046 | 0.040 | -0.137 | -0.171 | -0.144 | 0.029 | 0.025 | -0.080 | -0.055 | 0.118 | -0.194 | -0.061 | 0.013 | -0.087 | -0.058 | -0.024 | -0.324 | -0.186 | -0.152 | -0.003 | -0.033 | 0.070 | 0.026 | 0.055 | -0.002 | 0.069 | -0.004 | 0.044 | -0.078 |
| YearBuilt | -0.013 | 0.028 | 0.123 | 0.014 | 0.572 | -0.376 | 1.000 | 0.593 | 0.316 | 0.250 | -0.049 | 0.149 | 0.391 | 0.282 | 0.010 | -0.184 | 0.199 | 0.188 | -0.038 | 0.468 | 0.243 | -0.071 | -0.175 | 0.096 | 0.148 | 0.826 | 0.538 | 0.479 | 0.225 | 0.189 | -0.387 | 0.031 | -0.050 | 0.005 | -0.034 | 0.012 | -0.014 | 0.523 |
| YearRemodAdd | -0.022 | 0.041 | 0.089 | 0.014 | 0.551 | 0.074 | 0.593 | 1.000 | 0.180 | 0.128 | -0.068 | 0.181 | 0.291 | 0.240 | 0.140 | -0.062 | 0.287 | 0.119 | -0.012 | 0.439 | 0.183 | -0.041 | -0.150 | 0.192 | 0.113 | 0.642 | 0.421 | 0.372 | 0.206 | 0.226 | -0.194 | 0.045 | -0.039 | 0.006 | -0.010 | 0.021 | 0.036 | 0.507 |
| MasVnrArea | -0.050 | 0.023 | 0.193 | 0.104 | 0.412 | -0.128 | 0.316 | 0.180 | 1.000 | 0.265 | -0.072 | 0.114 | 0.364 | 0.345 | 0.175 | -0.069 | 0.391 | 0.085 | 0.027 | 0.277 | 0.201 | 0.103 | -0.038 | 0.281 | 0.249 | 0.253 | 0.364 | 0.373 | 0.160 | 0.126 | -0.110 | 0.019 | 0.061 | 0.012 | -0.030 | -0.006 | -0.008 | 0.477 |
| BsmtFinSF1 | -0.005 | -0.070 | 0.234 | 0.214 | 0.240 | -0.046 | 0.250 | 0.128 | 0.265 | 1.000 | -0.050 | -0.495 | 0.522 | 0.446 | -0.137 | -0.065 | 0.208 | 0.649 | 0.067 | 0.059 | 0.004 | -0.107 | -0.081 | 0.044 | 0.260 | 0.153 | 0.224 | 0.297 | 0.204 | 0.112 | -0.102 | 0.026 | 0.062 | 0.140 | 0.004 | -0.016 | 0.014 | 0.386 |
| BsmtFinSF2 | -0.006 | -0.066 | 0.050 | 0.111 | -0.059 | 0.040 | -0.049 | -0.068 | -0.072 | -0.050 | 1.000 | -0.209 | 0.105 | 0.097 | -0.099 | 0.015 | -0.010 | 0.159 | 0.071 | -0.076 | -0.032 | -0.016 | -0.041 | -0.035 | 0.047 | -0.088 | -0.038 | -0.018 | 0.068 | 0.003 | 0.037 | -0.030 | 0.089 | 0.042 | 0.005 | -0.015 | 0.032 | -0.011 |
| BsmtUnfSF | -0.008 | -0.141 | 0.133 | -0.003 | 0.308 | -0.137 | 0.149 | 0.181 | 0.114 | -0.495 | -0.209 | 1.000 | 0.415 | 0.318 | 0.004 | 0.028 | 0.240 | -0.423 | -0.096 | 0.289 | -0.041 | 0.167 | 0.030 | 0.251 | 0.052 | 0.191 | 0.214 | 0.183 | -0.005 | 0.129 | -0.003 | 0.021 | -0.013 | -0.035 | -0.024 | 0.035 | -0.041 | 0.214 |
| TotalBsmtSF | -0.015 | -0.239 | 0.392 | 0.261 | 0.538 | -0.171 | 0.391 | 0.291 | 0.364 | 0.522 | 0.105 | 0.415 | 1.000 | 0.820 | -0.175 | -0.033 | 0.455 | 0.307 | 0.000 | 0.324 | -0.049 | 0.050 | -0.069 | 0.286 | 0.340 | 0.322 | 0.435 | 0.487 | 0.232 | 0.247 | -0.095 | 0.037 | 0.084 | 0.126 | -0.018 | 0.013 | -0.015 | 0.614 |
| 1stFlrSF | 0.010 | -0.252 | 0.457 | 0.299 | 0.476 | -0.144 | 0.282 | 0.240 | 0.345 | 0.446 | 0.097 | 0.318 | 0.820 | 1.000 | -0.203 | -0.014 | 0.566 | 0.245 | 0.002 | 0.381 | -0.120 | 0.127 | 0.068 | 0.410 | 0.411 | 0.233 | 0.439 | 0.490 | 0.235 | 0.212 | -0.065 | 0.056 | 0.089 | 0.132 | -0.021 | 0.031 | -0.014 | 0.606 |
| 2ndFlrSF | 0.006 | 0.308 | 0.080 | 0.051 | 0.295 | 0.029 | 0.010 | 0.140 | 0.175 | -0.137 | -0.099 | 0.004 | -0.175 | -0.203 | 1.000 | 0.063 | 0.688 | -0.169 | -0.024 | 0.421 | 0.610 | 0.503 | 0.059 | 0.616 | 0.195 | 0.071 | 0.184 | 0.138 | 0.092 | 0.208 | 0.062 | -0.024 | 0.041 | 0.081 | 0.016 | 0.035 | -0.029 | 0.319 |
| LowQualFinSF | -0.044 | 0.046 | 0.038 | 0.005 | -0.030 | 0.025 | -0.184 | -0.062 | -0.069 | -0.065 | 0.015 | 0.028 | -0.033 | -0.014 | 0.063 | 1.000 | 0.135 | -0.047 | -0.006 | -0.001 | -0.027 | 0.106 | 0.008 | 0.131 | -0.021 | -0.036 | -0.094 | -0.068 | -0.025 | 0.018 | 0.061 | -0.004 | 0.027 | 0.062 | -0.004 | -0.022 | -0.029 | -0.026 |
| GrLivArea | 0.008 | 0.075 | 0.403 | 0.263 | 0.593 | -0.080 | 0.199 | 0.287 | 0.391 | 0.208 | -0.010 | 0.240 | 0.455 | 0.566 | 0.688 | 0.135 | 1.000 | 0.035 | -0.019 | 0.630 | 0.416 | 0.521 | 0.100 | 0.825 | 0.462 | 0.231 | 0.467 | 0.469 | 0.247 | 0.330 | 0.009 | 0.021 | 0.102 | 0.170 | -0.002 | 0.050 | -0.037 | 0.709 |
| BsmtFullBath | 0.002 | 0.003 | 0.101 | 0.158 | 0.111 | -0.055 | 0.188 | 0.119 | 0.085 | 0.649 | 0.159 | -0.423 | 0.307 | 0.245 | -0.169 | -0.047 | 0.035 | 1.000 | -0.148 | -0.065 | -0.031 | -0.151 | -0.042 | -0.053 | 0.138 | 0.125 | 0.132 | 0.179 | 0.175 | 0.067 | -0.050 | 0.000 | 0.023 | 0.068 | -0.023 | -0.025 | 0.067 | 0.227 |
| BsmtHalfBath | -0.020 | -0.002 | -0.007 | 0.048 | -0.040 | 0.118 | -0.038 | -0.012 | 0.027 | 0.067 | 0.071 | -0.096 | 0.000 | 0.002 | -0.024 | -0.006 | -0.019 | -0.148 | 1.000 | -0.055 | -0.012 | 0.047 | -0.038 | -0.024 | 0.029 | -0.077 | -0.021 | -0.025 | 0.040 | -0.025 | -0.009 | 0.035 | 0.032 | 0.020 | -0.007 | 0.033 | -0.047 | -0.017 |
| FullBath | 0.006 | 0.132 | 0.199 | 0.126 | 0.551 | -0.194 | 0.468 | 0.439 | 0.277 | 0.059 | -0.076 | 0.289 | 0.324 | 0.381 | 0.421 | -0.001 | 0.630 | -0.065 | -0.055 | 1.000 | 0.136 | 0.363 | 0.133 | 0.555 | 0.244 | 0.485 | 0.470 | 0.406 | 0.188 | 0.260 | -0.115 | 0.035 | -0.008 | 0.050 | -0.014 | 0.056 | -0.020 | 0.561 |
| HalfBath | 0.007 | 0.177 | 0.054 | 0.014 | 0.273 | -0.061 | 0.243 | 0.183 | 0.201 | 0.004 | -0.032 | -0.041 | -0.049 | -0.120 | 0.610 | -0.027 | 0.416 | -0.031 | -0.012 | 0.136 | 1.000 | 0.227 | -0.068 | 0.343 | 0.204 | 0.197 | 0.219 | 0.164 | 0.108 | 0.200 | -0.095 | -0.005 | 0.072 | 0.022 | 0.001 | -0.009 | -0.010 | 0.284 |
| BedroomAbvGr | 0.038 | -0.023 | 0.263 | 0.120 | 0.102 | 0.013 | -0.071 | -0.041 | 0.103 | -0.107 | -0.016 | 0.167 | 0.050 | 0.127 | 0.503 | 0.106 | 0.521 | -0.151 | 0.047 | 0.363 | 0.227 | 1.000 | 0.199 | 0.677 | 0.108 | -0.065 | 0.086 | 0.065 | 0.047 | 0.094 | 0.042 | -0.024 | 0.044 | 0.071 | 0.008 | 0.047 | -0.036 | 0.168 |
| KitchenAbvGr | 0.003 | 0.282 | -0.006 | -0.018 | -0.184 | -0.087 | -0.175 | -0.150 | -0.038 | -0.081 | -0.041 | 0.030 | -0.069 | 0.068 | 0.059 | 0.008 | 0.100 | -0.042 | -0.038 | 0.133 | -0.068 | 0.199 | 1.000 | 0.256 | -0.124 | -0.124 | -0.051 | -0.064 | -0.090 | -0.070 | 0.037 | -0.025 | -0.052 | -0.015 | 0.062 | 0.027 | 0.032 | -0.136 |
| TotRmsAbvGrd | 0.027 | 0.040 | 0.352 | 0.190 | 0.427 | -0.058 | 0.096 | 0.192 | 0.281 | 0.044 | -0.035 | 0.251 | 0.286 | 0.410 | 0.616 | 0.131 | 0.825 | -0.053 | -0.024 | 0.555 | 0.343 | 0.677 | 0.256 | 1.000 | 0.326 | 0.148 | 0.362 | 0.338 | 0.166 | 0.234 | 0.004 | -0.007 | 0.059 | 0.084 | 0.025 | 0.037 | -0.035 | 0.534 |
| Fireplaces | -0.020 | -0.046 | 0.267 | 0.271 | 0.397 | -0.024 | 0.148 | 0.113 | 0.249 | 0.260 | 0.047 | 0.052 | 0.340 | 0.411 | 0.195 | -0.021 | 0.462 | 0.138 | 0.029 | 0.244 | 0.204 | 0.108 | -0.124 | 0.326 | 1.000 | 0.047 | 0.301 | 0.269 | 0.200 | 0.169 | -0.025 | 0.011 | 0.185 | 0.095 | 0.001 | 0.046 | -0.024 | 0.467 |
| GarageYrBlt | 0.000 | 0.085 | 0.070 | -0.025 | 0.548 | -0.324 | 0.826 | 0.642 | 0.253 | 0.153 | -0.088 | 0.191 | 0.322 | 0.233 | 0.071 | -0.036 | 0.231 | 0.125 | -0.077 | 0.485 | 0.197 | -0.065 | -0.124 | 0.148 | 0.047 | 1.000 | 0.589 | 0.565 | 0.225 | 0.228 | -0.297 | 0.024 | -0.075 | -0.015 | -0.032 | 0.005 | -0.001 | 0.486 |
| GarageCars | 0.017 | -0.040 | 0.286 | 0.155 | 0.601 | -0.186 | 0.538 | 0.421 | 0.364 | 0.224 | -0.038 | 0.214 | 0.435 | 0.439 | 0.184 | -0.094 | 0.467 | 0.132 | -0.021 | 0.470 | 0.219 | 0.086 | -0.051 | 0.362 | 0.301 | 0.589 | 1.000 | 0.882 | 0.226 | 0.214 | -0.151 | 0.036 | 0.050 | 0.021 | -0.043 | 0.041 | -0.039 | 0.640 |
| GarageArea | 0.018 | -0.099 | 0.345 | 0.180 | 0.562 | -0.152 | 0.479 | 0.372 | 0.373 | 0.297 | -0.018 | 0.183 | 0.487 | 0.490 | 0.138 | -0.068 | 0.469 | 0.179 | -0.025 | 0.406 | 0.164 | 0.065 | -0.064 | 0.338 | 0.269 | 0.565 | 0.882 | 1.000 | 0.225 | 0.241 | -0.122 | 0.035 | 0.051 | 0.061 | -0.027 | 0.028 | -0.027 | 0.623 |
| WoodDeckSF | -0.030 | -0.013 | 0.089 | 0.172 | 0.239 | -0.003 | 0.225 | 0.206 | 0.160 | 0.204 | 0.068 | -0.005 | 0.232 | 0.235 | 0.092 | -0.025 | 0.247 | 0.175 | 0.040 | 0.188 | 0.108 | 0.047 | -0.090 | 0.166 | 0.200 | 0.225 | 0.226 | 0.225 | 1.000 | 0.059 | -0.126 | -0.033 | -0.074 | 0.073 | -0.010 | 0.021 | 0.022 | 0.324 |
| OpenPorchSF | 0.000 | -0.006 | 0.152 | 0.085 | 0.309 | -0.033 | 0.189 | 0.226 | 0.126 | 0.112 | 0.003 | 0.129 | 0.247 | 0.212 | 0.208 | 0.018 | 0.330 | 0.067 | -0.025 | 0.260 | 0.200 | 0.094 | -0.070 | 0.234 | 0.169 | 0.228 | 0.214 | 0.241 | 0.059 | 1.000 | -0.093 | -0.006 | 0.074 | 0.061 | -0.019 | 0.071 | -0.058 | 0.316 |
| EnclosedPorch | 0.003 | -0.012 | 0.011 | -0.018 | -0.114 | 0.070 | -0.387 | -0.194 | -0.110 | -0.102 | 0.037 | -0.003 | -0.095 | -0.065 | 0.062 | 0.061 | 0.009 | -0.050 | -0.009 | -0.115 | -0.095 | 0.042 | 0.037 | 0.004 | -0.025 | -0.297 | -0.151 | -0.122 | -0.126 | -0.093 | 1.000 | -0.037 | -0.083 | 0.054 | 0.018 | -0.029 | -0.010 | -0.129 |
| 3SsnPorch | -0.047 | -0.044 | 0.070 | 0.020 | 0.030 | 0.026 | 0.031 | 0.045 | 0.019 | 0.026 | -0.030 | 0.021 | 0.037 | 0.056 | -0.024 | -0.004 | 0.021 | 0.000 | 0.035 | 0.035 | -0.005 | -0.024 | -0.025 | -0.007 | 0.011 | 0.024 | 0.036 | 0.035 | -0.033 | -0.006 | -0.037 | 1.000 | -0.031 | -0.008 | 0.000 | 0.029 | 0.019 | 0.045 |
| ScreenPorch | 0.001 | -0.026 | 0.041 | 0.043 | 0.065 | 0.055 | -0.050 | -0.039 | 0.061 | 0.062 | 0.089 | -0.013 | 0.084 | 0.089 | 0.041 | 0.027 | 0.102 | 0.023 | 0.032 | -0.008 | 0.072 | 0.044 | -0.052 | 0.059 | 0.185 | -0.075 | 0.050 | 0.051 | -0.074 | 0.074 | -0.083 | -0.031 | 1.000 | 0.051 | 0.032 | 0.023 | 0.011 | 0.111 |
| PoolArea | 0.057 | 0.008 | 0.206 | 0.078 | 0.065 | -0.002 | 0.005 | 0.006 | 0.012 | 0.140 | 0.042 | -0.035 | 0.126 | 0.132 | 0.081 | 0.062 | 0.170 | 0.068 | 0.020 | 0.050 | 0.022 | 0.071 | -0.015 | 0.084 | 0.095 | -0.015 | 0.021 | 0.061 | 0.073 | 0.061 | 0.054 | -0.008 | 0.051 | 1.000 | 0.030 | -0.034 | -0.060 | 0.092 |
| MiscVal | -0.006 | -0.008 | 0.003 | 0.038 | -0.031 | 0.069 | -0.034 | -0.010 | -0.030 | 0.004 | 0.005 | -0.024 | -0.018 | -0.021 | 0.016 | -0.004 | -0.002 | -0.023 | -0.007 | -0.014 | 0.001 | 0.008 | 0.062 | 0.025 | 0.001 | -0.032 | -0.043 | -0.027 | -0.010 | -0.019 | 0.018 | 0.000 | 0.032 | 0.030 | 1.000 | -0.006 | 0.005 | -0.021 |
| MoSold | 0.021 | -0.014 | 0.011 | 0.001 | 0.071 | -0.004 | 0.012 | 0.021 | -0.006 | -0.016 | -0.015 | 0.035 | 0.013 | 0.031 | 0.035 | -0.022 | 0.050 | -0.025 | 0.033 | 0.056 | -0.009 | 0.047 | 0.027 | 0.037 | 0.046 | 0.005 | 0.041 | 0.028 | 0.021 | 0.071 | -0.029 | 0.029 | 0.023 | -0.034 | -0.006 | 1.000 | -0.146 | 0.046 |
| YrSold | 0.001 | -0.021 | 0.007 | -0.014 | -0.027 | 0.044 | -0.014 | 0.036 | -0.008 | 0.014 | 0.032 | -0.041 | -0.015 | -0.014 | -0.029 | -0.029 | -0.037 | 0.067 | -0.047 | -0.020 | -0.010 | -0.036 | 0.032 | -0.035 | -0.024 | -0.001 | -0.039 | -0.027 | 0.022 | -0.058 | -0.010 | 0.019 | 0.011 | -0.060 | 0.005 | -0.146 | 1.000 | -0.029 |
| SalePrice | -0.022 | -0.084 | 0.352 | 0.264 | 0.791 | -0.078 | 0.523 | 0.507 | 0.477 | 0.386 | -0.011 | 0.214 | 0.614 | 0.606 | 0.319 | -0.026 | 0.709 | 0.227 | -0.017 | 0.561 | 0.284 | 0.168 | -0.136 | 0.534 | 0.467 | 0.486 | 0.640 | 0.623 | 0.324 | 0.316 | -0.129 | 0.045 | 0.111 | 0.092 | -0.021 | 0.046 | -0.029 | 1.000 |
# Extract p-values
kable(res2$P, digits = 3)| Id | MSSubClass | LotFrontage | LotArea | OverallQual | OverallCond | YearBuilt | YearRemodAdd | MasVnrArea | BsmtFinSF1 | BsmtFinSF2 | BsmtUnfSF | TotalBsmtSF | 1stFlrSF | 2ndFlrSF | LowQualFinSF | GrLivArea | BsmtFullBath | BsmtHalfBath | FullBath | HalfBath | BedroomAbvGr | KitchenAbvGr | TotRmsAbvGrd | Fireplaces | GarageYrBlt | GarageCars | GarageArea | WoodDeckSF | OpenPorchSF | EnclosedPorch | 3SsnPorch | ScreenPorch | PoolArea | MiscVal | MoSold | YrSold | SalePrice | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Id | NA | 0.670 | 0.714 | 0.205 | 0.279 | 0.630 | 0.627 | 0.401 | 0.055 | 0.848 | 0.820 | 0.762 | 0.556 | 0.689 | 0.831 | 0.091 | 0.752 | 0.930 | 0.442 | 0.831 | 0.796 | 0.150 | 0.910 | 0.298 | 0.450 | 0.998 | 0.527 | 0.501 | 0.258 | 0.985 | 0.912 | 0.075 | 0.959 | 0.029 | 0.812 | 0.419 | 0.978 | 0.403 |
| MSSubClass | 0.670 | NA | 0.000 | 0.000 | 0.213 | 0.023 | 0.288 | 0.121 | 0.382 | 0.008 | 0.012 | 0.000 | 0.000 | 0.000 | 0.000 | 0.076 | 0.004 | 0.894 | 0.929 | 0.000 | 0.000 | 0.371 | 0.000 | 0.123 | 0.082 | 0.002 | 0.126 | 0.000 | 0.631 | 0.816 | 0.646 | 0.094 | 0.320 | 0.752 | 0.769 | 0.604 | 0.414 | 0.001 |
| LotFrontage | 0.714 | 0.000 | NA | 0.000 | 0.000 | 0.040 | 0.000 | 0.002 | 0.000 | 0.000 | 0.084 | 0.000 | 0.000 | 0.000 | 0.005 | 0.183 | 0.000 | 0.000 | 0.802 | 0.000 | 0.064 | 0.000 | 0.834 | 0.000 | 0.000 | 0.018 | 0.000 | 0.000 | 0.002 | 0.000 | 0.711 | 0.015 | 0.152 | 0.000 | 0.907 | 0.698 | 0.796 | 0.000 |
| LotArea | 0.205 | 0.000 | 0.000 | NA | 0.000 | 0.830 | 0.587 | 0.599 | 0.000 | 0.000 | 0.000 | 0.920 | 0.000 | 0.000 | 0.051 | 0.855 | 0.000 | 0.000 | 0.066 | 0.000 | 0.586 | 0.000 | 0.497 | 0.000 | 0.000 | 0.355 | 0.000 | 0.000 | 0.000 | 0.001 | 0.484 | 0.436 | 0.099 | 0.003 | 0.146 | 0.963 | 0.586 | 0.000 |
| OverallQual | 0.279 | 0.213 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.024 | 0.000 | 0.000 | 0.000 | 0.000 | 0.245 | 0.000 | 0.000 | 0.125 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.246 | 0.013 | 0.013 | 0.230 | 0.007 | 0.296 | 0.000 |
| OverallCond | 0.630 | 0.023 | 0.040 | 0.830 | 0.000 | NA | 0.000 | 0.005 | 0.000 | 0.077 | 0.124 | 0.000 | 0.000 | 0.000 | 0.269 | 0.330 | 0.002 | 0.036 | 0.000 | 0.000 | 0.020 | 0.620 | 0.001 | 0.028 | 0.363 | 0.000 | 0.000 | 0.000 | 0.899 | 0.213 | 0.007 | 0.330 | 0.036 | 0.940 | 0.009 | 0.893 | 0.093 | 0.003 |
| YearBuilt | 0.627 | 0.288 | 0.000 | 0.587 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.061 | 0.000 | 0.000 | 0.000 | 0.694 | 0.000 | 0.000 | 0.000 | 0.145 | 0.000 | 0.000 | 0.007 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.231 | 0.054 | 0.850 | 0.189 | 0.636 | 0.603 | 0.000 |
| YearRemodAdd | 0.401 | 0.121 | 0.002 | 0.599 | 0.000 | 0.005 | 0.000 | NA | 0.000 | 0.000 | 0.010 | 0.000 | 0.000 | 0.000 | 0.000 | 0.017 | 0.000 | 0.000 | 0.638 | 0.000 | 0.000 | 0.121 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.084 | 0.139 | 0.824 | 0.695 | 0.412 | 0.172 | 0.000 |
| MasVnrArea | 0.055 | 0.382 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.006 | 0.000 | 0.000 | 0.000 | 0.000 | 0.008 | 0.000 | 0.001 | 0.310 | 0.000 | 0.000 | 0.000 | 0.152 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.474 | 0.019 | 0.655 | 0.256 | 0.820 | 0.755 | 0.000 |
| BsmtFinSF1 | 0.848 | 0.008 | 0.000 | 0.000 | 0.000 | 0.077 | 0.000 | 0.000 | 0.000 | NA | 0.056 | 0.000 | 0.000 | 0.000 | 0.000 | 0.014 | 0.000 | 0.000 | 0.010 | 0.025 | 0.871 | 0.000 | 0.002 | 0.091 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.313 | 0.018 | 0.000 | 0.892 | 0.548 | 0.584 | 0.000 |
| BsmtFinSF2 | 0.820 | 0.012 | 0.084 | 0.000 | 0.024 | 0.124 | 0.061 | 0.010 | 0.006 | 0.056 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.572 | 0.713 | 0.000 | 0.007 | 0.003 | 0.220 | 0.548 | 0.120 | 0.179 | 0.073 | 0.001 | 0.144 | 0.486 | 0.009 | 0.906 | 0.163 | 0.252 | 0.001 | 0.111 | 0.850 | 0.561 | 0.226 | 0.664 |
| BsmtUnfSF | 0.762 | 0.000 | 0.000 | 0.920 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.865 | 0.282 | 0.000 | 0.000 | 0.000 | 0.000 | 0.116 | 0.000 | 0.251 | 0.000 | 0.049 | 0.000 | 0.000 | 0.000 | 0.839 | 0.000 | 0.923 | 0.428 | 0.631 | 0.180 | 0.363 | 0.183 | 0.115 | 0.000 |
| TotalBsmtSF | 0.556 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.204 | 0.000 | 0.000 | 0.990 | 0.000 | 0.062 | 0.054 | 0.008 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.153 | 0.001 | 0.000 | 0.480 | 0.614 | 0.568 | 0.000 |
| 1stFlrSF | 0.689 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.587 | 0.000 | 0.000 | 0.940 | 0.000 | 0.000 | 0.000 | 0.009 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.013 | 0.032 | 0.001 | 0.000 | 0.421 | 0.231 | 0.603 | 0.000 |
| 2ndFlrSF | 0.831 | 0.000 | 0.005 | 0.051 | 0.000 | 0.269 | 0.694 | 0.000 | 0.000 | 0.000 | 0.000 | 0.865 | 0.000 | 0.000 | NA | 0.015 | 0.000 | 0.000 | 0.362 | 0.000 | 0.000 | 0.000 | 0.023 | 0.000 | 0.000 | 0.009 | 0.000 | 0.000 | 0.000 | 0.000 | 0.018 | 0.352 | 0.121 | 0.002 | 0.536 | 0.179 | 0.273 | 0.000 |
| LowQualFinSF | 0.091 | 0.076 | 0.183 | 0.855 | 0.245 | 0.330 | 0.000 | 0.017 | 0.008 | 0.014 | 0.572 | 0.282 | 0.204 | 0.587 | 0.015 | NA | 0.000 | 0.072 | 0.824 | 0.978 | 0.301 | 0.000 | 0.774 | 0.000 | 0.417 | 0.177 | 0.000 | 0.010 | 0.331 | 0.486 | 0.020 | 0.870 | 0.306 | 0.018 | 0.885 | 0.397 | 0.269 | 0.328 |
| GrLivArea | 0.752 | 0.004 | 0.000 | 0.000 | 0.000 | 0.002 | 0.000 | 0.000 | 0.000 | 0.000 | 0.713 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.183 | 0.470 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.728 | 0.431 | 0.000 | 0.000 | 0.927 | 0.055 | 0.163 | 0.000 |
| BsmtFullBath | 0.930 | 0.894 | 0.000 | 0.000 | 0.000 | 0.036 | 0.000 | 0.000 | 0.001 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.072 | 0.183 | NA | 0.000 | 0.014 | 0.238 | 0.000 | 0.113 | 0.042 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.010 | 0.057 | 0.997 | 0.377 | 0.010 | 0.379 | 0.333 | 0.010 | 0.000 |
| BsmtHalfBath | 0.442 | 0.929 | 0.802 | 0.066 | 0.125 | 0.000 | 0.145 | 0.638 | 0.310 | 0.010 | 0.007 | 0.000 | 0.990 | 0.940 | 0.362 | 0.824 | 0.470 | 0.000 | NA | 0.037 | 0.638 | 0.076 | 0.147 | 0.363 | 0.269 | 0.004 | 0.425 | 0.349 | 0.125 | 0.334 | 0.744 | 0.180 | 0.220 | 0.445 | 0.779 | 0.209 | 0.076 | 0.520 |
| FullBath | 0.831 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.025 | 0.003 | 0.000 | 0.000 | 0.000 | 0.000 | 0.978 | 0.000 | 0.014 | 0.037 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.177 | 0.757 | 0.058 | 0.585 | 0.033 | 0.453 | 0.000 |
| HalfBath | 0.796 | 0.000 | 0.064 | 0.586 | 0.000 | 0.020 | 0.000 | 0.000 | 0.000 | 0.871 | 0.220 | 0.116 | 0.062 | 0.000 | 0.000 | 0.301 | 0.000 | 0.238 | 0.638 | 0.000 | NA | 0.000 | 0.009 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.849 | 0.006 | 0.393 | 0.961 | 0.730 | 0.695 | 0.000 |
| BedroomAbvGr | 0.150 | 0.371 | 0.000 | 0.000 | 0.000 | 0.620 | 0.007 | 0.121 | 0.000 | 0.000 | 0.548 | 0.000 | 0.054 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.076 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.017 | 0.001 | 0.013 | 0.073 | 0.000 | 0.112 | 0.350 | 0.091 | 0.007 | 0.767 | 0.075 | 0.169 | 0.000 |
| KitchenAbvGr | 0.910 | 0.000 | 0.834 | 0.497 | 0.000 | 0.001 | 0.000 | 0.000 | 0.152 | 0.002 | 0.120 | 0.251 | 0.008 | 0.009 | 0.023 | 0.774 | 0.000 | 0.113 | 0.147 | 0.000 | 0.009 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.053 | 0.014 | 0.001 | 0.007 | 0.154 | 0.348 | 0.049 | 0.579 | 0.017 | 0.310 | 0.226 | 0.000 |
| TotRmsAbvGrd | 0.298 | 0.123 | 0.000 | 0.000 | 0.000 | 0.028 | 0.000 | 0.000 | 0.000 | 0.091 | 0.179 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.042 | 0.363 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.874 | 0.799 | 0.023 | 0.001 | 0.344 | 0.159 | 0.187 | 0.000 |
| Fireplaces | 0.450 | 0.082 | 0.000 | 0.000 | 0.000 | 0.363 | 0.000 | 0.000 | 0.000 | 0.000 | 0.073 | 0.049 | 0.000 | 0.000 | 0.000 | 0.417 | 0.000 | 0.000 | 0.269 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.082 | 0.000 | 0.000 | 0.000 | 0.000 | 0.343 | 0.667 | 0.000 | 0.000 | 0.957 | 0.077 | 0.358 | 0.000 |
| GarageYrBlt | 0.998 | 0.002 | 0.018 | 0.355 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.001 | 0.000 | 0.000 | 0.000 | 0.009 | 0.177 | 0.000 | 0.000 | 0.004 | 0.000 | 0.000 | 0.017 | 0.000 | 0.000 | 0.082 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.382 | 0.005 | 0.591 | 0.229 | 0.843 | 0.970 | 0.000 |
| GarageCars | 0.527 | 0.126 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.144 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.425 | 0.000 | 0.000 | 0.001 | 0.053 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.000 | 0.172 | 0.054 | 0.424 | 0.100 | 0.122 | 0.135 | 0.000 |
| GarageArea | 0.501 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.486 | 0.000 | 0.000 | 0.000 | 0.000 | 0.010 | 0.000 | 0.000 | 0.349 | 0.000 | 0.000 | 0.013 | 0.014 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.000 | 0.000 | 0.000 | 0.180 | 0.050 | 0.020 | 0.295 | 0.285 | 0.296 | 0.000 |
| WoodDeckSF | 0.258 | 0.631 | 0.002 | 0.000 | 0.000 | 0.899 | 0.000 | 0.000 | 0.000 | 0.000 | 0.009 | 0.839 | 0.000 | 0.000 | 0.000 | 0.331 | 0.000 | 0.000 | 0.125 | 0.000 | 0.000 | 0.073 | 0.001 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.025 | 0.000 | 0.211 | 0.005 | 0.005 | 0.715 | 0.422 | 0.395 | 0.000 |
| OpenPorchSF | 0.985 | 0.816 | 0.000 | 0.001 | 0.000 | 0.213 | 0.000 | 0.000 | 0.000 | 0.000 | 0.906 | 0.000 | 0.000 | 0.000 | 0.000 | 0.486 | 0.000 | 0.010 | 0.334 | 0.000 | 0.000 | 0.000 | 0.007 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.025 | NA | 0.000 | 0.823 | 0.005 | 0.020 | 0.478 | 0.006 | 0.028 | 0.000 |
| EnclosedPorch | 0.912 | 0.646 | 0.711 | 0.484 | 0.000 | 0.007 | 0.000 | 0.000 | 0.000 | 0.000 | 0.163 | 0.923 | 0.000 | 0.013 | 0.018 | 0.020 | 0.728 | 0.057 | 0.744 | 0.000 | 0.000 | 0.112 | 0.154 | 0.874 | 0.343 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | NA | 0.154 | 0.002 | 0.038 | 0.483 | 0.270 | 0.705 | 0.000 |
| 3SsnPorch | 0.075 | 0.094 | 0.015 | 0.436 | 0.246 | 0.330 | 0.231 | 0.084 | 0.474 | 0.313 | 0.252 | 0.428 | 0.153 | 0.032 | 0.352 | 0.870 | 0.431 | 0.997 | 0.180 | 0.177 | 0.849 | 0.350 | 0.348 | 0.799 | 0.667 | 0.382 | 0.172 | 0.180 | 0.211 | 0.823 | 0.154 | NA | 0.230 | 0.760 | 0.989 | 0.260 | 0.477 | 0.089 |
| ScreenPorch | 0.959 | 0.320 | 0.152 | 0.099 | 0.013 | 0.036 | 0.054 | 0.139 | 0.019 | 0.018 | 0.001 | 0.631 | 0.001 | 0.001 | 0.121 | 0.306 | 0.000 | 0.377 | 0.220 | 0.757 | 0.006 | 0.091 | 0.049 | 0.023 | 0.000 | 0.005 | 0.054 | 0.050 | 0.005 | 0.005 | 0.002 | 0.230 | NA | 0.050 | 0.222 | 0.375 | 0.683 | 0.000 |
| PoolArea | 0.029 | 0.752 | 0.000 | 0.003 | 0.013 | 0.940 | 0.850 | 0.824 | 0.655 | 0.000 | 0.111 | 0.180 | 0.000 | 0.000 | 0.002 | 0.018 | 0.000 | 0.010 | 0.445 | 0.058 | 0.393 | 0.007 | 0.579 | 0.001 | 0.000 | 0.591 | 0.424 | 0.020 | 0.005 | 0.020 | 0.038 | 0.760 | 0.050 | NA | 0.257 | 0.198 | 0.023 | 0.000 |
| MiscVal | 0.812 | 0.769 | 0.907 | 0.146 | 0.230 | 0.009 | 0.189 | 0.695 | 0.256 | 0.892 | 0.850 | 0.363 | 0.480 | 0.421 | 0.536 | 0.885 | 0.927 | 0.379 | 0.779 | 0.585 | 0.961 | 0.767 | 0.017 | 0.344 | 0.957 | 0.229 | 0.100 | 0.295 | 0.715 | 0.478 | 0.483 | 0.989 | 0.222 | 0.257 | NA | 0.804 | 0.851 | 0.418 |
| MoSold | 0.419 | 0.604 | 0.698 | 0.963 | 0.007 | 0.893 | 0.636 | 0.412 | 0.820 | 0.548 | 0.561 | 0.183 | 0.614 | 0.231 | 0.179 | 0.397 | 0.055 | 0.333 | 0.209 | 0.033 | 0.730 | 0.075 | 0.310 | 0.159 | 0.077 | 0.843 | 0.122 | 0.285 | 0.422 | 0.006 | 0.270 | 0.260 | 0.375 | 0.198 | 0.804 | NA | 0.000 | 0.076 |
| YrSold | 0.978 | 0.414 | 0.796 | 0.586 | 0.296 | 0.093 | 0.603 | 0.172 | 0.755 | 0.584 | 0.226 | 0.115 | 0.568 | 0.603 | 0.273 | 0.269 | 0.163 | 0.010 | 0.076 | 0.453 | 0.695 | 0.169 | 0.226 | 0.187 | 0.358 | 0.970 | 0.135 | 0.296 | 0.395 | 0.028 | 0.705 | 0.477 | 0.683 | 0.023 | 0.851 | 0.000 | NA | 0.269 |
| SalePrice | 0.403 | 0.001 | 0.000 | 0.000 | 0.000 | 0.003 | 0.000 | 0.000 | 0.000 | 0.000 | 0.664 | 0.000 | 0.000 | 0.000 | 0.000 | 0.328 | 0.000 | 0.000 | 0.520 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.089 | 0.000 | 0.000 | 0.418 | 0.076 | 0.269 | NA |
melted_cormat %>%
filter(Var1 == "SalePrice") %>%
filter(Var2 != "SalePrice") %>%
top_n(n = 10, wt = value) %>%
arrange(-value) -> top_cor
kable(top_cor)| Var1 | Var2 | value |
|---|---|---|
| SalePrice | OverallQual | 0.7910 |
| SalePrice | GrLivArea | 0.7086 |
| SalePrice | GarageCars | 0.6404 |
| SalePrice | GarageArea | 0.6234 |
| SalePrice | TotalBsmtSF | 0.6136 |
| SalePrice | 1stFlrSF | 0.6059 |
| SalePrice | FullBath | 0.5607 |
| SalePrice | TotRmsAbvGrd | 0.5337 |
| SalePrice | YearBuilt | 0.5229 |
| SalePrice | YearRemodAdd | 0.5071 |
train_nuemric %>% select(SalePrice, OverallQual, GrLivArea, GarageCars, GarageArea,
TotalBsmtSF, `1stFlrSF`, FullBath, TotRmsAbvGrd, YearBuilt,
YearRemodAdd) -> train_top۲. در یک تصویر نمودار پراکنش دو به دو ده متغیر بدست آمده به همراه قیمت را رسم نمایید و هم خطی بودن متغیرها را بررسی کنید
طبق نمودار ها می توان دید که برخی جفت ها با هم خطی دارند. مثل SalePrice-OverallQual, SalePrice-GrLivArea, GrLivArea-1stFlrSF, TotalBsmtSF-1stFlrSF, GrLivArea-TotRmsAbvGrd.
برای بررسی وجود هم خطی میان متغیرها از تست Farrar-Glauber و چند تست دیگر استفاده می کنیم. مقادیر این تست به ما نشان می دهند که برای مدل خطیمان هم خطی داریم که چیز خوبی نیست. نتیجتن باید چند تا از ستون ها را حذف کنیم تا هم خطی را از بین ببریم.
library(car)
scatterplotMatrix(train_top)library(GGally)
ggpairs(train_top)library(mctest)
omcdiag(train_top %>% select(-SalePrice), train_top$SalePrice)##
## Call:
## omcdiag(x = train_top %>% select(-SalePrice), y = train_top$SalePrice)
##
##
## Overall Multicollinearity Diagnostics
##
## MC Results detection
## Determinant |X'X|: 0.0007 1
## Farrar Chi-Square: 10652.4387 1
## Red Indicator: 0.4852 0
## Sum of Lambda Inverse: 34.9056 0
## Theil's Method: -0.2152 0
## Condition Number: 545.2532 1
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
imcdiag(train_top %>% select(-SalePrice), train_top$SalePrice)##
## Call:
## imcdiag(x = train_top %>% select(-SalePrice), y = train_top$SalePrice)
##
##
## All Individual Multicollinearity Diagnostics Result
##
## VIF TOL Wi Fi Leamer CVIF Klein
## OverallQual 2.7486 0.3638 281.7235 317.1576 0.6032 -0.2222 0
## GrLivArea 5.0188 0.1993 647.4656 728.9011 0.4464 -0.4056 1
## GarageCars 5.2510 0.1904 684.8768 771.0177 0.4364 -0.4244 1
## GarageArea 4.9310 0.2028 633.3298 712.9874 0.4503 -0.3986 1
## TotalBsmtSF 3.6027 0.2776 419.3196 472.0599 0.5269 -0.2912 0
## 1stFlrSF 3.6847 0.2714 432.5392 486.9422 0.5210 -0.2978 0
## FullBath 2.2155 0.4514 195.8305 220.4613 0.6718 -0.1791 0
## TotRmsAbvGrd 3.3565 0.2979 379.6611 427.4133 0.5458 -0.2713 0
## YearBuilt 2.3458 0.4263 216.8276 244.0993 0.6529 -0.1896 0
## YearRemodAdd 1.7510 0.5711 121.0020 136.2211 0.7557 -0.1415 0
##
## 1 --> COLLINEARITY is detected by the test
## 0 --> COLLINEARITY is not detected by the test
##
## GarageArea , TotRmsAbvGrd , coefficient(s) are non-significant may be due to multicollinearity
##
## R-square of y on all x: 0.7737
##
## * use method argument to check which regressors may be the reason of collinearity
## ===================================
۳. یک مدل خطی بر اساس ده متغیر برای پیش بینی قیمت برازش دهید. و سپس خلاصه نتایج مدل را به دست آورید.
fit <- lm(SalePrice ~ ., data=train_top)
summary(fit) # show results##
## Call:
## lm(formula = SalePrice ~ ., data = train_top)
##
## Residuals:
## Min 1Q Median 3Q Max
## -489958 -19316 -1948 16020 290558
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.186e+06 1.291e+05 -9.187 < 2e-16 ***
## OverallQual 1.960e+04 1.190e+03 16.472 < 2e-16 ***
## GrLivArea 5.130e+01 4.233e+00 12.119 < 2e-16 ***
## GarageCars 1.042e+04 3.044e+03 3.422 0.000639 ***
## GarageArea 1.495e+01 1.031e+01 1.450 0.147384
## TotalBsmtSF 1.986e+01 4.295e+00 4.625 4.09e-06 ***
## `1stFlrSF` 1.417e+01 4.930e+00 2.875 0.004097 **
## FullBath -6.791e+03 2.682e+03 -2.532 0.011457 *
## TotRmsAbvGrd 3.310e+01 1.119e+03 0.030 0.976404
## YearBuilt 2.682e+02 5.035e+01 5.328 1.15e-07 ***
## YearRemodAdd 2.965e+02 6.363e+01 4.659 3.47e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 37920 on 1449 degrees of freedom
## Multiple R-squared: 0.7737, Adjusted R-squared: 0.7721
## F-statistic: 495.4 on 10 and 1449 DF, p-value: < 2.2e-16
۴. نمودار قیمت واقعی و قیمت پیش بینی را رسم نمایید و خوب بودن مدل را ارزیابی کنید.
برای اینکه مدل خوب باشد باید داده ها نزدیک خط \(x=y\) باشند. که تا حد قابل قبولی این طور هست.
train_top %>%
mutate(PricePredict = predict(fit)) -> train_top_pre
ggplot(train_top_pre) +
geom_point(aes(x = SalePrice, y = PricePredict), alpha = 0.3, colour = "blue")+
geom_abline(slope = 1, intercept = 0, color = "red", size = 1, alpha = 0.5)۵. مقدار R-squared مدل را به دست آورید. آیا بر اساس این کمیت مدل به خوبی به داده ها برازش داده شده است؟ کمیت F-statistic را در خلاصه مدل تفسیر نمایید.
مقدار R-squared مشخص می کند که مدلمان تا چه حدی تغییرات داده را می تواند توضیح دهد. مقدار adjusted-R-sqaured هم تاثیر زیاد بودن تعداد متغیرهای رگرسیون را کمتر می کند. این مقدار حدودن می شود \(0.77\) که تا حد خوبی قابل قبول است.
کمیت f-statistic اگر زیاد باشد نشانه ی وجود ارتباطی میان predictor های ما و response است. که در اینجا از آنجایی که مقدار آن زیاد است و پی ولیو هم بسیار کوچک است می توان این نتیجه را گرفت که ارتباطی وجود دارد. در واقع بیشتر بودن این مقدار اعتماد ما را به r-squared به دست آمده بیشتر می کند.
summary_fit<- summary(fit)
summary_fit##
## Call:
## lm(formula = SalePrice ~ ., data = train_top)
##
## Residuals:
## Min 1Q Median 3Q Max
## -489958 -19316 -1948 16020 290558
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.186e+06 1.291e+05 -9.187 < 2e-16 ***
## OverallQual 1.960e+04 1.190e+03 16.472 < 2e-16 ***
## GrLivArea 5.130e+01 4.233e+00 12.119 < 2e-16 ***
## GarageCars 1.042e+04 3.044e+03 3.422 0.000639 ***
## GarageArea 1.495e+01 1.031e+01 1.450 0.147384
## TotalBsmtSF 1.986e+01 4.295e+00 4.625 4.09e-06 ***
## `1stFlrSF` 1.417e+01 4.930e+00 2.875 0.004097 **
## FullBath -6.791e+03 2.682e+03 -2.532 0.011457 *
## TotRmsAbvGrd 3.310e+01 1.119e+03 0.030 0.976404
## YearBuilt 2.682e+02 5.035e+01 5.328 1.15e-07 ***
## YearRemodAdd 2.965e+02 6.363e+01 4.659 3.47e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 37920 on 1449 degrees of freedom
## Multiple R-squared: 0.7737, Adjusted R-squared: 0.7721
## F-statistic: 495.4 on 10 and 1449 DF, p-value: < 2.2e-16
۶. بر اساس p-value سطح معناداری ضرایب تصمیم بگیرید که چه متغیرهایی در مدل سازی استفاده شود. بر اساس متغیرهای جدید دوباره مدل سازی کنید و نتایج رو گزارش دهید.
بر اساس پی ولیوها به این نتیجه می رسیم که دو تا از عوامل ربط معناداری ندارند و آن ها را حذف می کنیم. حال اگر دوباره یک مدل خطی به داده هایمان فیت کنیم خواهیم دید که r-sqaured تغییر چندانی نمی کند یعنی مدل ما همان سطح از تغییرات را می تواند توجیه کند، ولی f-statistic ما بیشتر شده که بیانگر این است که ارتباط بیشتری بین predicatorها و response وجود است واطمینان ما از مقدار r-squared را بیشتر می کند.
train_top %>%
select(-GarageArea, -TotRmsAbvGrd) -> train_sig
fit_sig <- lm(SalePrice ~ ., data=train_sig)
summary(fit_sig)##
## Call:
## lm(formula = SalePrice ~ ., data = train_sig)
##
## Residuals:
## Min 1Q Median 3Q Max
## -482525 -19191 -1801 16208 289639
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.188e+06 1.284e+05 -9.255 < 2e-16 ***
## OverallQual 1.959e+04 1.188e+03 16.486 < 2e-16 ***
## GrLivArea 5.177e+01 3.097e+00 16.714 < 2e-16 ***
## GarageCars 1.395e+04 1.817e+03 7.680 2.92e-14 ***
## TotalBsmtSF 2.039e+01 4.269e+00 4.775 1.98e-06 ***
## `1stFlrSF` 1.465e+01 4.919e+00 2.979 0.00294 **
## FullBath -7.184e+03 2.644e+03 -2.717 0.00666 **
## YearBuilt 2.699e+02 5.017e+01 5.380 8.69e-08 ***
## YearRemodAdd 2.957e+02 6.362e+01 4.649 3.64e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 37920 on 1451 degrees of freedom
## Multiple R-squared: 0.7734, Adjusted R-squared: 0.7721
## F-statistic: 618.9 on 8 and 1451 DF, p-value: < 2.2e-16
۷. مدل خود را بر اساس باقی مانده نقص یابی کنید. سه محک normality, independance, Constant Variance را در نقص یابی خود در نظر بگیرید.
Constant-Variance: برای بررسی این نکته از تست Breusch-Pagan استفاده می کنیم که فرض صفر آن این است که واریانس باقیمانده ها ثابت است. که رد می شود. پس این نکته درست نیست. همچنین با مشاهده ی نمودار باقی مانده ها و مقادیر فیت شده هم می توانیم ببینیم که یک روند وجود دارد و ثابت نیست.
independence: برای بررسی این نکته بررسی می کنیم تا ببینم آیا autocorrelation بین باقی مانده ها وجود دارد یا نه. برای بررسی این نکته از نمودار acf استفاده می کنیم. اگر باقی مانده ها autocorrelated نباشند باید بعد از lag0 نمودارمون بین ۲ خط آبی بیفتد (significance-level) که همین اتفاق هم افتاده. پس autocorrelation نداریم. راه دیگر برای بررسی این موضوع هم تست های randomness و durbin-watson اند. که نشان می دهند شواهد کافی برای رد کردن فرض autocorrelated نبودن وجود ندارد.
normality: برای بررسی این نکته از نمودار qqnorm استفاده می کنیم. اگر باقی مانده های ما روی یک خط باشند معنای آن این است که باقی مانده های ما نرمال هستند. راه دیگر برای بررسی این موضوع هم استفاده از تست های بررسی نرمال بودن است. در ادامه هم مشاهده می کنیم که طبق ۴ تا از این تست ها فرض نرمال بودن باقی مانده ها رد می شود. پس باقی مانده هایمان نرمال نیستند.
در آخر هم از تابع gvlma استفاده می کنیم که به طور خلاصه فرضیات رگرسیون خطی را برای مدلمان بررسی می کند.
پس در مجموع داده های ما در فرض های رگرسیون خطی صدق نمی کنند.
# Evaluate homoscedasticity
# non-constant error variance test
lmtest::bptest(fit_sig) # Breusch-Pagan test##
## studentized Breusch-Pagan test
##
## data: fit_sig
## BP = 395.73, df = 8, p-value < 2.2e-16
ncvTest(fit_sig) # Breusch-Pagan test## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 2921.508 Df = 1 p = 0
# plot studentized residuals vs. fitted values
spreadLevelPlot(fit_sig)##
## Suggested power transformation: 0.6280349
olsrr::ols_plot_resid_fit(fit_sig)#No autocorrelation of residuals
acf(fit_sig$residuals)# Method 2: Runs test to test for randomness
lawstat::runs.test(fit_sig$residuals)##
## Runs Test - Two sided
##
## data: fit_sig$residuals
## Standardized Runs Statistic = -0.47124, p-value = 0.6375
# Method 3: Durbin-Watson test
lmtest::dwtest(fit_sig)##
## Durbin-Watson test
##
## data: fit_sig
## DW = 1.9835, p-value = 0.3763
## alternative hypothesis: true autocorrelation is greater than 0
#=> Durbin-Watson test
# Normality of Residuals
# qq plot for studentized resid
olsrr::ols_plot_resid_qq(fit_sig)olsrr::ols_test_normality(fit_sig)## -----------------------------------------------
## Test Statistic pvalue
## -----------------------------------------------
## Shapiro-Wilk 0.8062 0.0000
## Kolmogorov-Smirnov 0.1059 0.0000
## Cramer-von Mises 123.5906 0.0123
## Anderson-Darling 35.91 0.0000
## -----------------------------------------------
# all together
gvlma::gvlma(fit_sig)##
## Call:
## lm(formula = SalePrice ~ ., data = train_sig)
##
## Coefficients:
## (Intercept) OverallQual GrLivArea GarageCars TotalBsmtSF
## -1.188e+06 1.959e+04 5.177e+01 1.395e+04 2.038e+01
## `1stFlrSF` FullBath YearBuilt YearRemodAdd
## 1.465e+01 -7.184e+03 2.699e+02 2.957e+02
۸. داده ها را به پنج قسمت تقسیم کنید. بر اساس چهار قسمت مدل خطی را بسازید و صحت مدل را برای یک قسمت باقی مانده را تست کنید. خطای پیش بینی شما چقدر است؟
برای محاسبه ی خطا میانگین مربعات خطای حاصل از اختلاف مقدار پیش بینی شده و مقدار واقعی را به دست می آوریم. همچنین میانگین مربعی خطا ها (MSE) را هم به دست می آوریم.
set.seed(200)
#shuffling
train_sig_cv <- train_sig[sample(nrow(train_sig)),]
train_sig_cv_train <-
train_sig_cv %>% filter(row_number() < 0.8 * n())
train_sig_cv_test <-
train_sig_cv %>% filter(row_number() >= 0.8 * n())
testmodel = lm(SalePrice ~ ., data= train_sig_cv_train)
train_sig_cv_test_pre_err <-
train_sig_cv_test %>%
mutate(pred = predict.lm(testmodel, train_sig_cv_test, type = "response")) %>%
mutate(err = (SalePrice - pred) * (SalePrice - pred)) %>%
dplyr::select(SalePrice, pred, err)
model_error <- mean(train_sig_cv_test_pre_err$err)
model_error## [1] 1148541154
sqrt(model_error)## [1] 33890.13
۹. آیا قیمت ربط غیر خطی با یکی از ده متغیر استفاده شده دارد؟ بر اساس دستاوردهای خود مدل را بهتر نمایید.
نمودار SalePrice را در مقابل سایر متغیرها می کشیم و مشاهده می کنیم که ۲ تا از متغیرها ربط غیرخطی دارند و به نظر از درجه ی ۲ دارند.
ولی برای بهترشدن مدل و کسب رتبه ی بهتر در kaggle! به روش آزمون و خطا از درجات بالاتر سایر متغیرها هم استفاده می کنیم تا بهتر بتوانیم آن ها را توصیف کنیم. همچنین به جای خود SalePrice از لگاریتم آن استفاده می کنیم.
sp <- train_top$SalePrice
for(i in 2:11){
other <- train_top[, i]
sp_other <- data.frame(sp = sp,
xaxis = other)
colnames(sp_other) <- c("sp", "xaxis")
ggplot(sp_other, aes(x=xaxis, y=sp)) +
geom_point(alpha = 0.3)+
geom_smooth(method = "loess")+
geom_smooth(method = "lm", color = "red", alpha = 0.5)+
xlab(colnames(other))+
ylab(colnames(sp)) -> graph
print(graph)
}#####
##### OverallQual
other <- train_top[, 2]
sp_other <- data.frame(sp = sp,
xaxis = other*other)
colnames(sp_other) <- c("sp", "xaxis")
ggplot(sp_other, aes(x=xaxis, y=sp)) +
geom_point(alpha = 0.3)+
geom_smooth(method = "loess")+
geom_smooth(method = "lm", color = "red", alpha = 0.5)+
xlab(paste(colnames(other), "^2"))+
ylab(colnames(sp)) -> graph
print(graph)#####
##### TotalBsmtSF
other <- train_top[, 6]
sp_other <- data.frame(sp = sp,
xaxis = other *other)
colnames(sp_other) <- c("sp", "xaxis")
ggplot(sp_other %>% filter(xaxis < 30000000), aes(x=xaxis, y=sp)) +
geom_point(alpha = 0.3)+
geom_smooth(method = "loess")+
geom_smooth(method = "lm", color = "red", alpha = 0.5)+
xlab(paste(colnames(other), "^2"))+
ylab(colnames(sp)) -> graph
print(graph)#####
##### improving model
train_top_improved <- train_top %>%
mutate(TotalBsmtSF2 = TotalBsmtSF ** 2,
TotalBsmtSF3 = TotalBsmtSF ** 3,
OverallQual2 = OverallQual ** 2,
OverallQual3 = OverallQual ** 3,
GrLivArea2 = GrLivArea ** 2,
GarageArea2 = GarageArea ** 2,
YearBuilt2 = YearBuilt ** 2)
model_improved <- lm(log2(SalePrice) ~ ., data = train_top_improved %>%
dplyr::select(-TotRmsAbvGrd, -GarageArea, -TotalBsmtSF, -`1stFlrSF`))
summary(model_improved)##
## Call:
## lm(formula = log2(SalePrice) ~ ., data = train_top_improved %>%
## dplyr::select(-TotRmsAbvGrd, -GarageArea, -TotalBsmtSF, -`1stFlrSF`))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.84406 -0.10406 0.01634 0.12898 0.80179
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.748e+02 2.947e+01 -5.932 3.73e-09 ***
## OverallQual 4.367e-01 9.351e-02 4.670 3.29e-06 ***
## GrLivArea 6.943e-04 5.298e-05 13.105 < 2e-16 ***
## GarageCars 8.263e-02 1.411e-02 5.858 5.78e-09 ***
## FullBath -4.828e-02 1.608e-02 -3.003 0.002715 **
## YearBuilt 1.826e-01 2.990e-02 6.108 1.30e-09 ***
## YearRemodAdd 4.258e-03 4.047e-04 10.521 < 2e-16 ***
## TotalBsmtSF2 1.681e-07 1.183e-08 14.216 < 2e-16 ***
## TotalBsmtSF3 -3.499e-11 2.569e-12 -13.619 < 2e-16 ***
## OverallQual2 -5.279e-02 1.575e-02 -3.352 0.000822 ***
## OverallQual3 2.908e-03 8.565e-04 3.396 0.000703 ***
## GrLivArea2 -7.637e-08 1.338e-08 -5.707 1.40e-08 ***
## GarageArea2 1.066e-07 4.475e-08 2.381 0.017373 *
## YearBuilt2 -4.598e-05 7.658e-06 -6.005 2.42e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2226 on 1446 degrees of freedom
## Multiple R-squared: 0.8521, Adjusted R-squared: 0.8508
## F-statistic: 640.8 on 13 and 1446 DF, p-value: < 2.2e-16
۱۰. بر اساس مدل نهایی به دست آمده نتایج پیش بینی خود را بر روی test.csv به دست آورید و در سایت kaggle در مسابقه House Prices: Advanced Regression Techniques بارگذاری نمایید. سپس لینک رتبه و عدد آن را ضمیمه تمرین کنید.
read_csv("./../house/test.csv") -> test_data
test_data_2 <- test_data %>%
mutate(TotalBsmtSF2 = TotalBsmtSF ** 2,
TotalBsmtSF3 = TotalBsmtSF ** 3,
OverallQual2 = OverallQual ** 2,
OverallQual3 = OverallQual ** 3,
OverallQual4 = OverallQual ** 3,
GrLivArea2 = GrLivArea ** 2,
GarageArea2 = GarageArea ** 2,
YearBuilt2 = YearBuilt ** 2)
test_data_2[is.na(test_data_2)] <- 0
test_data_2 %>%
mutate(SalePrice = 2 ** predict.lm(model_improved, test_data_2)) %>%
dplyr::select(Id, SalePrice) -> result
write_csv(result, "./../result.csv")نتیجه و رتبه
score